package com.xci.platform.helper;

import cn.hutool.core.date.DateUtil;
import com.xci.platform.core.Constant;

import java.util.Date;

public class DateHelper {
    /**
     * 格式化日期(默认格式yyyy-MM-dd)
     *
     * @param date 指定的时间
     * @return 返回日期格式化后的字符串
     */
    public static String formatDate(Date date) {
        return formatDate(date, Constant.DefaultDatePattern);
    }

    /**
     * 格式化日期字符串(默认格式 yyyy-MM-dd HH:mm)
     *
     * @param date 指定的时间
     * @return 返回日期格式化后的字符串
     */
    public static String formatDateHasMinute(Date date) {
        return formatDate(date, "yyyy-MM-dd HH:mm");
    }

    /**
     * 格式化日期(默认格式 yyyy-MM-dd HH:mm:ss)
     *
     * @param date 指定的时间
     * @return 返回日期格式化后的字符串
     */
    public static String formatDateTime(Date date) {
        return formatDate(date, Constant.DefaultDateTimePattern);
    }

    /**
     * 获取格式化的时间字符串(默认格式 HH:mm:ss)
     *
     * @param date 指定的时间
     * @return 返回日期格式化后的字符串
     */
    public static String formatTime(Date date) {
        return formatDate(date, "HH:mm:ss");
    }

    /**
     * 格式化日期
     *
     * @param date   指定的时间
     * @param format 格式字符串
     * @return 返回日期格式化后的字符串
     */
    public static String formatDate(Date date, String format) {
        if (date == null) {
            return "";
        }
        return DateUtil.format(date, format);
    }
}
